package com.flow.dao;

import java.util.List;
import com.flow.model.PagerModel;
import com.flow.model.NumberIndex;

/**
 * 
 * 编号Dao接口
 * @author wang
 * @2016-1-29
 * INumberIndexDao.java
 * @param <T>
 */
public interface INumberIndexDao<T> {

	public boolean insertNumberIndex(NumberIndex numberIndex);

	public boolean updateNumberIndex(NumberIndex numberIndex);
	
	public boolean deleteNumberIndex(NumberIndex numberIndex);
	
	public NumberIndex findNumberIndexByHql(String hql);

	public NumberIndex findNumberIndexByHql(String hql, Object param);

	public NumberIndex findNumberIndexByHql(String hql, List<Object> params);

	public int universalMethodNumberIndex(String hql);
	
	public int universalMethodNumberIndex(String hql, Object param);
	
	public int universalMethodNumberIndex(String hql, List<Object> params);
	
	public List<T> findNumberIndexAllByHql(String hql);

	public List<T> findNumberIndexAllByHql(String hql, Object param);

	public List<T> findNumberIndexAllByHql(String hql, List<Object> params);

	public PagerModel findNumberIndexPagerModeled(PagerModel pager, String hql);
	
	public PagerModel findNumberIndexPagerModeled(PagerModel pager, String hql, Object param);
	
	public PagerModel findNumberIndexPagerModeled(PagerModel pager, String hql, List<Object> params);
	
}
